数字图像处理(六)开操作和闭操作 您所在的位置:网站首页 开闭运算 图像处理 数字图像处理(六)开操作和闭操作

数字图像处理(六)开操作和闭操作

2024-06-03 15:56| 来源: 网络整理| 查看: 265

开操作     开操作简单说就是先腐蚀再膨胀即: A ∘ B = ( A ⊖ B ) ⊕ B A \circ B = (A \ominus B) \oplus B A∘B=(A⊖B)⊕B 开操作一般会平滑物体的轮廓、断开狭窄的狭颈并消除突出物。     开操作具有的性质: (1). A A A ∘ \circ ∘ B B B 是 A A A 的一个子集(子图像)。 (2).如果 C C C 是 D D D 的一个子集,那么 C ∘ B C \circ B C∘B,则 C ∘ B C \circ B C∘B 是 D ∘ B D \circ B D∘B 的一个子集。 (3). ( A ∘ B ) ∘ B = A ∘ B (A \circ B) \circ B = A \circ B (A∘B)∘B=A∘B 第一个说的是经过开操作后,图像变成原来图像的子集了,第二个说的是图像的子集的开操作是父图像开操作的子集,第三个说的是你怎么开操作就等于进行一次开操作。

在这里插入图片描述

    开操作的几何解释是用一个"转球" B B B 在 A A A 的内侧边缘进行滚动, B B B 所能到达的 A A A 的边界的最远点。我们可以认为是一种拟合处理,即: A ∘ B = ∪ { ( B ) z ∣ ( B ) z ⊆ A } A \circ B = \cup \{(B)_z|(B)_z \subseteq A\} A∘B=∪{(B)z​∣(B)z​⊆A}下面的图就是经过边缘提取和开闭操作的图在这里插入图片描述 闭操作     闭操作简单说就是先膨胀再腐蚀即: A ∙ B = ( A ⊕ B ) ⊖ B A \bullet B = (A \oplus B) \ominus B A∙B=(A⊕B)⊖B 闭操作也会平滑轮廓的一部分,但和开操作相反的是,它通常会弥合较窄的间断和细长的沟壑。       闭操作具有的性质: (1). A A A ∙ \bullet ∙ B B B 是 A A A 的一个子集(子图像)。 (2).如果 C C C 是 D D D 的一个子集,那么 C ∙ B C \bullet B C∙B,则 C ∙ B C \bullet B C∙B 是 D ∙ B D \bullet B D∙B 的一个子集。 (3). ( A ∙ B ) ∘ B = A ∙ B (A \bullet B) \circ B = A \bullet B (A∙B)∘B=A∙B 第一个说的是经过闭操作后,图像变成原来图像的子集了,第二个说的是图像的子集的闭操作是父图像开操作的子集,第三个说的是你怎么开操作就等于进行一次闭操作。 这里对比上面开操作理解就行!     闭操作的几何解释利用对偶的性质,即和开操作相反就行了!就是 B B B 在 A A A 外边缘滚动。 在这里插入图片描述

在这里插入图片描述上面是放大后的图,这是人的指纹,看同一个遍,可能区别不是特别明显,可能是因为结构元的问题,也可能是灰度图像的问题,MATLAB边缘edge和开闭操作后的图像会变成 2 2 2 值图像,本身前面的图像处理就是2值图像。在代码中我用的是先膨胀再腐蚀和先腐蚀再膨胀的用法,并没有用imclose和imopen的函数。就是想对比对比!

a = imread('test2.tif'); subplot(1,4,1); imshow(a); title('原始图像','fontsize',20) b = edge(a,'canny'); subplot(1,4,2); l = imdilate(b,strel); imshow(b); title('canny边缘提取后图像','fontsize',20); stre = strel('square',5); c = imdilate(a,stre); %膨胀 d = imerode(c,stre); %再腐蚀 subplot(1,4,3); imshow(d); title('开操作后图像','fontsize',20); h = imerode(a,stre); %腐蚀 g = imdilate(h,stre); %再膨胀 subplot(1,4,4); imshow(g); title('闭操作后图像','fontsize',20);

上面说到开闭操作的对偶性,其实是和腐蚀和膨胀是一样的。即 ( A ∙ B ) c = ( A c ∘ B ^ ) (A \bullet B)^c = (A^c \circ \hat{B}) (A∙B)c=(Ac∘B^) ( A ∘ B ) c = ( A c ∙ B ^ ) (A \circ B)^c = (A^c \bullet \hat{B}) (A∘B)c=(Ac∙B^) 不过我觉得,考试的话,不可能让你用集合理论去算东西,人手还是不如计算机的,还是实际应用为主,即如何结合这些操作进行实际的处理,即在数字图像处理后面的形态学处理。包括边界提取、凸壳、等等一系列操作。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有